/*
Copyright (C) 2021-2025 Casa Xu (also Zhiyan Xu) from HIT

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

/*
 * LOS_TM.h
 *
 *  Created on: 2023年9月20日
 *      Author: 64435
 */

#ifndef APP_LAYER_INC_LOS_TM_H_
#define APP_LAYER_INC_LOS_TM_H_

#include "LOS_SYS.h"
#include "ff.h"

extern char FileName_SAT0[11];
extern char FileName_SAT1[11];
extern char FileName_SAT2[11];
extern char FileName_SAT3[11];
extern char FileName_ZGK0[11];
extern char FileName_ZGK1[11];
extern char FileName_GPS0[11];
extern char FileName_UV10[11];
extern char FileName_PDB0[11];
extern char FileName_TCB0[11];
extern char FileName_CAM0[11];
extern char FileName_NVE0[11];
extern char FileName_NVE1[11];
extern char FileName_SPT0[11];
extern char FileName_CMS0[11];
extern char FileName_FAM0[11];

void LOS_TMTC_TMPack(uint8_t nID, uint8_t type, uint8_t* pack);
void LOS_TMTC_TMHead(uint8_t* tmmsg, uint8_t nID, uint8_t rec, uint16_t len);
uint16_t LOS_TMTC_GetTMPackSize(uint8_t nID, uint8_t type);
void LOS_TM_PackOBC(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackAOCS(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackCMOS(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackSSY(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackSSZ(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackGNSS(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackTMTC(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackDT(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackPD(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackTC(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackNE(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackST(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackCAM(uint8_t* tmmsg, uint8_t type);
void LOS_TM_PackAmur(uint8_t* tmmsg, uint8_t type);
void LOS_TM_SlowTMArbitrate(uint8_t packnum);
uint8_t LOS_TM_GetPDPWRON();

#endif /* APP_LAYER_INC_LOS_TM_H_ */
